Most computer programs executed on a computer system are controlled with a graphical user interface (GUI). The GUI displays selectable elements such as hypertext links and GUI buttons on a display device for the user to view and select. Typically, the user must use a pointing device, such as a mouse or trackball, to select the selectable elements provided by the GUI. Unfortunately, users who do not use a pointing device may be unable to use GUI based computer programs. For example, some users may have permanent physical disabilities or repetitive motion diseases, such as carpal tunnel syndrome, which prevents them from using a mouse or other pointing device. In other cases, the user may not want to use a pointing device in order to minimize the homing time associated with moving from the keyboard to the pointing device and back. It also may be necessary to eliminate the mouse from a computer system to reduce costs. In each case, these users would have great difficulty controlling a computer program which has a GUI interface. For these reasons, there is a need to access the selectable elements of a GUI without a pointing device.
Numerous conventional methods developed for selecting selectable elements on a GUI without a mouse or pointing device do not optimize a user's input speed. These methods were developed when the number of selectable elements in a given system were small and the information relatively ordered. In contrast, increasingly popular hypertext systems such as the World Wide Web (WWW) have hundreds of selectable hypertext links which are lexically unordered. As pointed out below, these conventional systems do not provide an efficient and easy method of accessing these hypertext systems without a pointing device.
FIG. 1 illustrates the technique developed by CERN for accessing a hypertext link without a pointing device. In this system, a number is assigned to each hypertext link and then added to the hypertext link text displayed to the user. A user can select a particular hypertext link by entering the hypertext link number on a keyboard device. Actuating the "enter" key takes the user to the information (e.g., a "web" page) associated with the selected hypertext link.
Unfortunately, the CERN method of accessing hypertext links is aesthetically unappealing. Adding numbers to each hypertext link changes the layout and appearance of the hypertext and impairs the designers ability to control the presentation of information on a screen. This tends to clutter the interface with unnecessary information and thus reduce the overall ease of use for the user. Furthermore, the numbers added to each hypertext link take up space which could be used to store and display additional meaningful information rather than control information used to select the hypertext link.
The CERN system is also not advantageous on a system with a large number of hypertext links. In the CERN system a user can only view and select a link being displayed on the screen. Therefore, to view the additional links a user must scroll through numerous additional screens. Searching through a large number of hypertext links in this manner is both tedious and inefficient. For example, consider a web page on the WWW which contains a list of all companies incorporated in the United States separated by each state. Many of the companies will have several entries on the web page because they are incorporated in several different states. A user may take hours to find the place of incorporation for a particular company because he or she must scroll though multiple screens of information. Furthermore, the user will have no simple method of determining if multiple entries in the hypertext system exist for a particular company. The CERN system will not indicate if multiple occurrences of a hypertext link appear on the same web page. Thus, the user may have a difficulty determining if the company has been incorporated in multiple states.
The LYNX system is another method for accessing hyperlink information without using a pointing device. The LYNX system is shown in FIG. 2. In the LYNX system a user must move sequentially through each hypertext link using a cursor key. A user actuates the "enter" key to select the hypertext link indicated by the cursor.
The LYNX approach solves some problems found in the CERN interface and introduces additional problems of its own. The LYNX technique is an improvement over the CERN interface because no additional text must be placed in the hypertext links. However, the LYNX approach remains undesirable because it requires numerous keystrokes to locate a specific hypertext link. On a large hypertext system, the excessive number of keystrokes may deter the user from using the system. For example, assume the previously mentioned web page contained a list of approximately 1,000 companies. On the average, the LYNX system could require up to 500 keystrokes to locate a hypertext link for a particular company. This is clearly an inefficient technique for accessing hypertext or GUI system buttons without a pointing device.
The present invention provides an elegant method for selecting selectable elements on a GUI without a pointing device. The present invention is particularly well suited for hypertext systems with a large number of hypertext links such as the World Wide Web(WWW).